# -*- coding: UTF-8 -*-
import dianbiao_logic
class connect_protocol_645():
    def connect_data_check(self,data_list):
        all_data = 0
        index_tmp=0
        index_flag=0

        if (type(data_list) == type([])):
            len_tmp = len(data_list)
            if(len_tmp>10):
                for index_tmp in range(len_tmp):
                    if(data_list[index_tmp] == 0x68):
                        index_flag=1
                        break

                if(index_flag):
                    data_list_tmp=data_list[index_tmp:]#拿到从0x68 全部的数据
                    len_tmp=len(data_list_tmp)
                    if(len_tmp>10):
                        if(len_tmp>=(data_list_tmp[9]+10+2)):#[9]数据长度 10是前9个字节 2是最后两个字节
                            data_list_tmp=data_list_tmp[:data_list_tmp[9]+10+2]#一包数据
                            len_tmp=len(data_list_tmp)#一包数据的长度
                            if ((data_list_tmp[0] == 0x68) and (data_list_tmp[7] == 0x68)and(data_list_tmp[len_tmp-1]==0x16)):
                                for i in range(len_tmp - 2):
                                    all_data += data_list_tmp[i]
                                if ((all_data % 256) == data_list_tmp[len_tmp - 2]):
                                    return data_list_tmp

        data_list_tmp=[]
        return data_list_tmp

    def connect_data_get_address(self,data_list):
        if (type(data_list) == type([])):
            if (len(data_list)):
                list_tmp=data_list[1:7]
                list_tmp.reverse()#倒叙
                return   (self.intto_hexstr(list_tmp))
        return 0

    def serial_data_handle_req_read_data_list(self, control_code,dianbiao_address_list,data_len,data_poyload_list):
        list_tmp = []
        data_all_num=0
        list_tmp.append(0xfe)
        list_tmp.append(0xfe)
        list_tmp.append(0xfe)
        list_tmp.append(0x68)
        #address
        for i in range(6):
            list_tmp.append(dianbiao_address_list[i])

        list_tmp.append(0x68)
        list_tmp.append(control_code)#回复 0x91
        list_tmp.append(data_len)
        for i in range(data_len):
            list_tmp.append(data_poyload_list[i])
        list_len_tmp=len(list_tmp)
        list_len_tmp-=3
        for i in range(list_len_tmp):
            data_all_num+=list_tmp[i+3]
        list_tmp.append(data_all_num%256)
        list_tmp.append(0x16)
        return list_tmp



    def serial_data_handle_req_data_formation_list(self,data_list,num_tmp):
        num_tmp = int(num_tmp)  # 转正数
        num_tmp = ("{:0>8d}".format(num_tmp))  # 变成8位字符串
        num_tmp_list_tmp1 = []
        num_tmp_list_tmp1.append(num_tmp[6:8])
        num_tmp_list_tmp1.append(num_tmp[4:6])
        num_tmp_list_tmp1.append(num_tmp[2:4])
        num_tmp_list_tmp1.append(num_tmp[:2])

        for i in range(len(num_tmp_list_tmp1)):
            num_tmp_list_tmp1[i] = int(num_tmp_list_tmp1[i], 16)  # dcb吗显示
            if (num_tmp_list_tmp1[i] == 0xff):
                num_tmp_list_tmp1[i] = 0x32
            else:
                num_tmp_list_tmp1[i] += 0x33  # 都加上0x33

        # 负载包内容
        num_tmp_list_tmp = data_list[10:14]
        for i in range(len(num_tmp_list_tmp1)):
            num_tmp_list_tmp.append(num_tmp_list_tmp1[i])
        return num_tmp_list_tmp
    def connect_data_analyze(self,data_list,dianbiao_object):
        if (type(data_list) == type([])):
            control_code=data_list[8]#控制吗
            payload_len=data_list[9] #负载内容长度
            payload_list=data_list[10:10 +payload_len]#负载内容
            for i in range(payload_len):
                if(payload_list[i]==0x32):
                    payload_list[i]=0xff
                else:
                    payload_list[i]-=0x33#去掉0x33 还原真实数据

            data_struct_flag=payload_list[0]*0x1000000+payload_list[1]*0x10000+payload_list[2]*0x100+payload_list[3]
            #获得4位具体地址
            if(control_code==0x11):#读数据
                ####################################当前电量#####################################################################
                if(data_struct_flag==0x00000100):#正向有功总电能
                    print(u"正向有功总电能")
                    num_tmp=self.num_format(float(dianbiao_object.dianbiao_all_active_power_electricity_showALL()),2)*100#两位小数 后扩大100倍
                    num_tmp_list_tmp=self.serial_data_handle_req_data_formation_list(data_list,num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7],len(num_tmp_list_tmp),num_tmp_list_tmp)
                elif (data_struct_flag==0x00010100):#正向有功费率1电量
                    print(u"正向有功费率1电量")
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv1_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020100):  # 正向有功费率2电量
                    print(u"正向有功费率2电量")
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv2_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030100):  # 正向有功费率3电量
                    print(u"正向有功费率3电量")
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv3_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040100):  # 正向有功费率4电量
                    print(u"正向有功费率4电量")
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv4_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0100):  # 正向有功电量数据块
                    print(u"正向有功电量数据块")
                    list_tmp= data_list[10:14]
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_all_active_power_electricity_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp=num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv1_showALL()),
                                             2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv2_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv3_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv4_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                     list_tmp)
                ###################################################################
                elif (data_struct_flag == 0x00000200):
                    print(u"反向有功总电量")
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_all_active_power_electricity_showALL1()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010200):
                    print(u"反向有功费率1电量")
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv1_showALL1()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020200):
                    print(u"反向有功费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv2_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030200):
                    print(u"反向有功费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv3_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040200):
                    print(u"反向有功费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv4_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0200):
                    print(u"反向有功电量数据块")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_all_active_power_electricity_showALL1()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv1_showALL1()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv2_showALL1()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv3_showALL1()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_active_power_electricity_feilv4_showALL1()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ##############################################
                elif (data_struct_flag == 0x00000500):
                    print(u"一象限无功总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_all_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010500):
                    print(u"一象限无功费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_feilv1_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020500):
                    print(u"一象限无功费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_feilv2_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030500):
                    print(u"一象限无功费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_feilv3_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040500):
                    print(u"一象限无功费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_feilv4_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0500):
                    print(u"一象限无功数据块")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(float(dianbiao_object.dianbiao_quadrant1_all_reactive_power_electricity_showALL()),
                                              2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_feilv1_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_feilv2_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_feilv3_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_feilv4_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ##################################################
                elif (data_struct_flag == 0x00000600):
                    print(u"二象限无功总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_all_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010600):
                    print(u"二象限无功费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_feilv1_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020600):
                    print(u"二象限无功费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_feilv2_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030600):
                    print(u"二象限无功费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_feilv3_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040600):
                    print(u"二象限无功费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_feilv4_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0600):
                    print(u"二象限无功数据块")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_all_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_feilv1_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_feilv2_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_feilv3_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_feilv4_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                    ##################################################
                elif (data_struct_flag == 0x00000700):
                    print(u"三象限无功总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_all_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010700):
                    print(u"三象限无功费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_feilv1_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020700):
                    print(u"三象限无功费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_feilv2_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030700):
                    print(u"三象限无功费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_feilv3_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040700):
                    print(u"三象限无功费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_feilv4_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0700):
                    print(u"三象限无功数据块")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_all_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_feilv1_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_feilv2_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_feilv3_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_feilv4_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ##################################################
                elif (data_struct_flag == 0x00000800):
                    print(u"四象限无功总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_all_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010800):
                    print(u"四象限无功费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_feilv1_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020800):
                    print(u"四象限无功费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_feilv2_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030800):
                    print(u"四象限无功费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_feilv3_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040800):
                    print(u"四象限无功费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_feilv4_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0800):
                    print(u"四象限无功数据块")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_all_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_feilv1_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_feilv2_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_feilv3_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_feilv4_reactive_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ##################################################
                elif (data_struct_flag == 0x00000000):
                    print(u"组合有功总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_active_power_electricity_showSTURCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010000):
                    print(u"组合有功总电量费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv1_showSTRUCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020000):
                    print(u"组合有功总电量费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv2_showSTRUCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030000):
                    print(u"组合有功总电量费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv3_showSTRUCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040000):
                    print(u"组合有功总电量费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv4_showSTRUCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0000):
                    print(u"组合有功数据块")
                    list_tmp = data_list[10:14]

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_active_power_electricity_showSTURCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv1_showSTRUCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv2_showSTRUCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv3_showSTRUCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_active_power_electricity_feilv4_showSTRUCT()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ##################################################
                elif (data_struct_flag == 0x00000300):
                    print(u"组合无功1总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010300):
                    print(u"组合无功1总电量费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv1_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020300):
                    print(u"组合无功1总电量费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv2_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030300):
                    print(u"组合无功1总电量费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv3_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040300):
                    print(u"组合无功1总电量费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv4_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0300):
                    print(u"组合无功1数据块")
                    list_tmp = data_list[10:14]

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv1_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv2_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv3_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv4_reactive_power_electricity_showSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ##################################################
                elif (data_struct_flag == 0x00000400):
                    print(u"组合无功2总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010400):
                    print(u"组合无功2总电量费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv1_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020400):
                    print(u"组合无功2总电量费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv2_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030400):
                    print(u"组合无功2总电量费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv3_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040400):
                    print(u"组合无功2总电量费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv4_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0400):
                    print(u"组合无功2数据块")
                    list_tmp = data_list[10:14]

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv1_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv2_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv3_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_feilv4_reactive_power_electricity_showSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ##################################################
                elif (data_struct_flag == 0x00000900):
                    print(u"正向视在总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010900):
                    print(u"正向视在总电量费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv1_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020900):
                    print(u"正向视在总电量费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv2_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030900):
                    print(u"正向视在总电量费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv3_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040900):
                    print(u"正向视在总电量费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv4_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0900):
                    print(u"正向视在数据块")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv1_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv2_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv3_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv4_showALL()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ##################################################
                elif (data_struct_flag == 0x00000A00):
                    print(u"反向视在总电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00010A00):
                    print(u"反向视在总电量费率1电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv1_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00020A00):
                    print(u"反向视在总电量费率2电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv2_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00030A00):
                    print(u"反向视在总电量费率3电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv3_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00040A00):
                    print(u"反向视在总电量费率4电量")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv4_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00ff0A00):
                    print(u"反向视在数据块")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv1_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv2_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv3_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_watch_power_electricity_feilv4_showALL1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ###############################################
                elif (data_struct_flag == 0x00001500):
                    print(u"A相正向有功电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_active_power_electricity_showA()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001600):
                    print(u"A相反向有功电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_active_power_electricity_showA1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001700):
                    print(u"A相无功组合1")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showASTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001800):
                    print(u"A相无功组合2")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showASTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001900):
                    print(u"A相第一象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_all_reactive_power_electricity_showA()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001A00):
                    print(u"A相第二象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_all_reactive_power_electricity_showA()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001B00):
                    print(u"A相第三象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_all_reactive_power_electricity_showA()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001C00):
                    print(u"A相第四象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_all_reactive_power_electricity_showA()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001D00):
                    print(u"A相正向视在电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showA()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00001E00):
                    print(u"A相反向视在电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showA1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                ###############################################
                elif (data_struct_flag == 0x00002900):
                    print(u"B相正向有功电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_active_power_electricity_showB()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00002A00):
                    print(u"B相反向有功电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_active_power_electricity_showB1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00002B00):
                    print(u"B相无功组合1")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showBSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00002C00):
                    print(u"B相无功组合2")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showBSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00002D00):
                    print(u"B想第一象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_all_reactive_power_electricity_showB()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00002E00):
                    print(u"B想第二象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_all_reactive_power_electricity_showB()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00002F00):
                    print(u"B想第三象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_all_reactive_power_electricity_showB()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00003000):
                    print(u"B想第四象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_all_reactive_power_electricity_showB()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00003100):
                    print(u"B想正向视在电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showB()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00003200):
                    print(u"B想反向视在电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showB1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                ###############################################
                elif (data_struct_flag == 0x00003D00):
                    print(u"C相正向有功电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_active_power_electricity_showB()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00003E00):
                    print(u"C相反向有功电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_active_power_electricity_showC1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00003F00):
                    print(u"C相无功组合1")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showCSTRUCT1()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00004000):
                    print(u"C相无功组合2")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant_reactive_power_electricity_showCSTRUCT2()),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00004100):
                    print(u"C想第一象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant1_all_reactive_power_electricity_showC()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00004200):
                    print(u"C想第二象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant2_all_reactive_power_electricity_showC()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00004300):
                    print(u"C想第三象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant3_all_reactive_power_electricity_showC()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00004400):
                    print(u"C想第四象限")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_quadrant4_all_reactive_power_electricity_showC()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00004500):
                    print(u"C想正向视在电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showC()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x00004600):
                    print(u"C想反向视在电能")
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_all_watch_power_electricity_showC1()),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                ######################################################################################################
                elif (data_struct_flag == 0x01060004):
                    print(u"有功组合")
                    num_tmp_list_tmp=[]
                    num_tmp_list_tmp.append(0x09)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x02060004):
                    print(u"无功组合1")
                    num_tmp_list_tmp = []
                    num_tmp_list_tmp.append(0xAA)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                elif (data_struct_flag == 0x03060004):
                    print(u"无功组合2")
                    num_tmp_list_tmp = []
                    num_tmp_list_tmp.append(0xAA)
                    return self.serial_data_handle_req_read_data_list(0x91,data_list[1:7], len(num_tmp_list_tmp),
                                                                      num_tmp_list_tmp)
                ##################################当前需量####################################################################
                elif (data_struct_flag == 0x00000101):
                    print(u"正向有功总最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data=dianbiao_object.dianbiao_all_active_power_electricity_needALL_show()/1000 #change w to kw
                    num_tmp = self.num_format(tmp_data,4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeALL_show()#str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=[0,0,0,0,0]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010101):
                    print(u"正向有功费率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020101):
                    print(u"正向有功费率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030101):
                    print(u"正向有功费率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040101):
                    print(u"正向有功费率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0101):
                    print(u"正向有功组合数据块")
                    list_tmp = data_list[10:14]

                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################
                elif (data_struct_flag == 0x00000201):
                    print(u"反向有功总最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010201):
                    print(u"反向有功费率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv1_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv1_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020201):
                    print(u"反向有功费率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv2_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv2_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030201):
                    print(u"反向有功费率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv3_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv3_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040201):
                    print(u"反向有功费率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv4_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    #####################################################################################
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv4_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0201):
                    print(u"反向有功组合数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv1_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv1_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv2_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv2_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv3_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv3_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_feilv4_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_feilv4_needtimeALL1_show()  # str 2022-01-03-10-18
                    if(len(tmp_data_str)):
                        tmp_data_list=tmp_data_str.split("-")
                        tmp_data_list[0]=tmp_data_list[0][2:]
                    else:
                        tmp_data_list=["0","0","0","0","0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00000301):
                    print(u"组合无功1总最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010301):
                    print(u"组合无功1费率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv1_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv1_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020301):
                    print(u"组合无功1费率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv2_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv2_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030301):
                    print(u"组合无功1费率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv3_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv3_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040301):
                    print(u"组合无功1费率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv4_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv4_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0301):
                    print(u"组合无功1组合数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv1_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv1_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv2_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv2_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv3_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv3_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv4_needstruct1ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv4_needtimestruct1ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################
                elif (data_struct_flag == 0x00000401):
                    print(u"组合无功2总最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010401):
                    print(u"组合无功2费率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv1_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv1_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020401):
                    print(u"组合无功2费率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv2_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv2_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030401):
                    print(u"组合无功2费率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv3_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv3_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040401):
                    print(u"组合无功2费率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv4_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv4_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0401):
                    print(u"组合无功2组合数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv1_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv1_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv2_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv2_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv3_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv3_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv4_needstruct2ALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_feilv4_needtimestruct2ALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################
                elif (data_struct_flag == 0x00000501):
                    print(u"象限一总最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010501):
                    print(u"象限一费率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020501):
                    print(u"象限一费率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030501):
                    print(u"象限一费率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040501):
                    print(u"象限一费率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0501):
                    print(u"象限一数据块最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################
                elif (data_struct_flag == 0x00000601):
                    print(u"象限二总最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010601):
                    print(u"象限二费率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020601):
                    print(u"象限二费率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030601):
                    print(u"象限二费率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040601):
                    print(u"象限二费率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0601):
                    print(u"象限二数据块最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################
                elif (data_struct_flag == 0x00000701):
                    print(u"象限三总最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010701):
                    print(u"象限三费率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020701):
                    print(u"象限三费率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030701):
                    print(u"象限三费率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040701):
                    print(u"象限三费率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0701):
                    print(u"象限三数据块最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################
                elif (data_struct_flag == 0x00000801):
                    print(u"象限四总最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010801):
                    print(u"象限四费率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020801):
                    print(u"象限四费率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030801):
                    print(u"象限四费率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040801):
                    print(u"象限四费率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0801):
                    print(u"象限四数据块最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################
                elif (data_struct_flag == 0x00000901):
                    print(u"正向视在最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010901):
                    print(u"正向视在率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020901):
                    print(u"正向视在率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030901):
                    print(u"正向视在率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040901):
                    print(u"正向视在率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0901):
                    print(u"正向视在据块最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv1_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv1_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv2_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv2_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv3_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv3_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv4_needALL_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv4_needtimeALL_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################
                elif (data_struct_flag == 0x00000A01):
                    print(u"反向视在最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010A01):
                    print(u"反向视在率1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv1_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv1_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020A01):
                    print(u"反向视在率2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv2_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv2_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030A01):
                    print(u"反向视在率3最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv3_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv3_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00040A01):
                    print(u"反向视在率4最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv4_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv4_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00FF0A01):
                    print(u"反向视在据块最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv1_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv1_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv2_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv2_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv3_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv3_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    #################################
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_feilv4_needALL1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_feilv4_needtimeALL1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                ####################单相#################
                elif (data_struct_flag == 0x00001501):
                    print(u"A相正向有功最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needA_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeA_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001601):
                    print(u"A相反向有功最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needA1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeA1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001701):
                    print(u"A相组合无功1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct1A_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct1A_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001801):
                    print(u"A相组合无功2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct2A_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct2A_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001901):
                    print(u"A相第一象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needA_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needtimeA_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001a01):
                    print(u"A相第二象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needA_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needtimeA_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001b01):
                    print(u"A相第三象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needA_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needtimeA_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001c01):
                    print(u"A相第四象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needA_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needtimeA_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001d01):
                    print(u"A相正向视在最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needA_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeA_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00001e01):
                    print(u"A相反向视在最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needA1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeA1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #################################
                elif (data_struct_flag == 0x00002901):
                    print(u"B相正向有功最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needB_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeB_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00002a01):
                    print(u"B相反向有功最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needB1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeB1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00002b01):
                    print(u"B相组合无功1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct1B_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct1B_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00002c01):
                    print(u"B相组合无功2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct2B_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct2B_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00002d01):
                    print(u"B相第一象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needB_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needtimeB_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00002e01):
                    print(u"B相第二象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needB_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needtimeB_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00002f01):
                    print(u"B相第三象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needB_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needtimeB_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00003001):
                    print(u"B相第四象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needB_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needtimeB_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00003101):
                    print(u"B相正向视在最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needB_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeB_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00003201):
                    print(u"B相反向视在最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needB1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeB1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #################################
                elif (data_struct_flag == 0x00003d01):
                    print(u"C相正向有功最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needC_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeC_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00003e01):
                    print(u"C相反向有功最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_active_power_electricity_needC1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_active_power_electricity_needtimeC1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00003f01):
                    print(u"C相组合无功1最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct1C_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct1C_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00004001):
                    print(u"C相组合无功2最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needstruct2C_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant_reactive_power_electricity_needtimestruct2C_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00004101):
                    print(u"C相第一象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needC_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant1_reactive_power_electricity_needtimeC_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00004201):
                    print(u"C相第二象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needC_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant2_reactive_power_electricity_needtimeC_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00004301):
                    print(u"C相第三象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needC_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant3_reactive_power_electricity_needtimeC_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00004401):
                    print(u"C相第四象限最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needC_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_quadrant4_reactive_power_electricity_needtimeC_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00004501):
                    print(u"C相正向视在最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needC_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeC_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00004601):
                    print(u"C相反向视在最大需量")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_all_watch_power_electricity_needC1_show() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_all_watch_power_electricity_needtimeC1_show()  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################参数###################################################
                elif (data_struct_flag == 0x00010102):
                    print(u"A相电压")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_voltage_showA()
                    num_tmp = self.num_format(tmp_data, 1) * 10  # 1位小数 后扩大10倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020102):
                    print(u"B相电压")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_voltage_showB()
                    num_tmp = self.num_format(tmp_data, 1) * 10  # 1位小数 后扩大10倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030102):
                    print(u"C相电压")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_voltage_showC()
                    num_tmp = self.num_format(tmp_data, 1) * 10  # 1位小数 后扩大10倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00ff0102):
                    print(u"电压数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_voltage_showA()
                    num_tmp = self.num_format(tmp_data, 1) * 10  # 1位小数 后扩大10倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_voltage_showB()
                    num_tmp = self.num_format(tmp_data, 1) * 10  # 1位小数 后扩大10倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_voltage_showC()
                    num_tmp = self.num_format(tmp_data, 1) * 10  # 1位小数 后扩大10倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010202):
                    print(u"A相电流")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_current_showA()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 3位小数 后扩大1000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020202):
                    print(u"B相电流")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_current_showB()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 3位小数 后扩大1000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030202):
                    print(u"C相电流")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_current_showC()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 3位小数 后扩大1000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00ff0202):
                    print(u"电流数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_current_showA()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 3位小数 后扩大1000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_current_showB()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 3位小数 后扩大1000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_current_showC()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 3位小数 后扩大1000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00000302):
                    print(u"瞬时总有功功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_active_power_showALL()/ 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010302):
                    print(u"瞬时A相有功功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_active_power_showA() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020302):
                    print(u"瞬时B相有功功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_active_power_showB() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030302):
                    print(u"瞬时C相有功功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_active_power_showC() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00ff0302):
                    print(u"瞬时有功功率数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_active_power_showALL() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_active_power_showA() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_active_power_showB() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_active_power_showC() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00000402):
                    print(u"瞬时总无功功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_reactive_power_showALL() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010402):
                    print(u"瞬时A相无功功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_reactive_power_showA() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020402):
                    print(u"瞬时B相无功功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_reactive_power_showB() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030402):
                    print(u"瞬时C相无功功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_reactive_power_showC() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00ff0402):
                    print(u"瞬时无功功率数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_reactive_power_showALL() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_reactive_power_showA() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_reactive_power_showB() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_reactive_power_showC() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00000502):
                    print(u"瞬时总视在功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_watch_power_showALL() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010502):
                    print(u"瞬时A相视在功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_watch_power_showA() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020502):
                    print(u"瞬时B相视在功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_watch_power_showB() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030502):
                    print(u"瞬时C相视在功率")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_watch_power_showC() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00ff0502):
                    print(u"瞬时视在功率数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_watch_power_showALL() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_watch_power_showA() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_watch_power_showB() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_watch_power_showC() / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00000602):
                    print(u"总功率因素")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_power_factor_showALL()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00010602):
                    print(u"A相功率因素")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_power_factor_showA()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00020602):
                    print(u"B相功率因素")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_power_factor_showB()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00030602):
                    print(u"C相功率因素")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_power_factor_showC()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x00ff0602):
                    print(u"功率因素数据块")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_power_factor_showALL()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_power_factor_showA()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_power_factor_showB()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data = dianbiao_object.dianbiao_power_factor_showC()
                    num_tmp = self.num_format(tmp_data, 3) * 1000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:6]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                #####################################cold###################################################
                elif (data_struct_flag == 0x01000005):
                    print(u"上一次定时冻结时间")
                    list_tmp = data_list[10:14]
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_time(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01010005):
                    print(u"上一次定时冻结正向有功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv1ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv2ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv3ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv4ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01020005):
                    print(u"上一次定时冻结反向有功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricityALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv1ALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv2ALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv3ALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv4ALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01030005):
                    print(u"上一次定时冻结组合无功 1 电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricitySTRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricity_feilv1STRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricity_feilv2STRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricity_feilv3STRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricity_feilv4STRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01040005):
                    print(u"上一次定时冻结组合无功 2 电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricitySTRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricity_feilv1STRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricity_feilv2STRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricity_feilv3STRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power_electricity_feilv4STRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01050005):
                    print(u"上一次定时冻结第一象限无功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_quadrant1_reactive_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_quadrant1_reactive_power_electricity_feilv1ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_quadrant1_reactive_power_electricity_feilv2ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_quadrant1_reactive_power_electricity_feilv3ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_set_time_all_quadrant1_reactive_power_electricity_feilv4ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01060005):
                    print(u"上一次定时冻结第二象限无功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant2_reactive_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant2_reactive_power_electricity_feilv1ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant2_reactive_power_electricity_feilv2ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant2_reactive_power_electricity_feilv3ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant2_reactive_power_electricity_feilv4ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01070005):
                    print(u"上一次定时冻结第三象限无功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant3_reactive_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant3_reactive_power_electricity_feilv1ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant3_reactive_power_electricity_feilv2ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant3_reactive_power_electricity_feilv3ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant3_reactive_power_electricity_feilv4ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01080005):
                    print(u"上一次定时冻结第四象限无功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant4_reactive_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant4_reactive_power_electricity_feilv1ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant4_reactive_power_electricity_feilv2ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant4_reactive_power_electricity_feilv3ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_set_time_all_quadrant4_reactive_power_electricity_feilv4ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01090005):
                    print(u"上一次定时冻结正向有功最大需量及发生时间数据")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_needALL(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_needtimeALL(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv1_needALL(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv1_needtimeALL(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv2_needALL(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv2_needtimeALL(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv3_needALL(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv3_needtimeALL(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv4_needALL(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv4_needtimeALL(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x010A0005):
                    print(u"上一次定时冻结反向有功最大需量及发生时间数据")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_needALL1(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_needtimeALL1(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv1_needALL1(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv1_needtimeALL1(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv2_needALL1(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv2_needtimeALL1(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv3_needALL1(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv3_needtimeALL1(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv4_needALL1(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_set_time_all_active_power_electricity_feilv4_needtimeALL1(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01100005):
                    print(u"上一次定时冻结变量数据")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_power(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_powerA(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_powerB(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_active_powerC(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_reactive_power(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_reactive_powerA(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_reactive_powerB(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_set_time_all_reactive_powerC(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01FF0005):
                    print(u"上一次定时冻结数据块")

                elif (data_struct_flag == 0x01000605):
                    print(u"上一次日冻结时间")
                    list_tmp = data_list[10:14]
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_time(1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01010605):
                    print(u"上一次日冻结正向有功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv1ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv2ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv3ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv4ALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01020605):
                    print(u"上一次日冻结反向有功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricityALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv1ALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv2ALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv3ALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv4ALL1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01030605):
                    print(u"上一次日冻结组合无功 1 电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricitySTRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricity_feilv1STRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricity_feilv2STRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricity_feilv3STRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricity_feilv4STRUCT1(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01040605):
                    print(u"上一次日冻结组合无功 2 电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricitySTRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricity_feilv1STRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricity_feilv2STRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricity_feilv3STRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_reactive_power_electricity_feilv4STRUCT2(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    if (num_tmp < 0):
                        num_tmp = -num_tmp
                        if (num_tmp > 79999999):
                            num_tmp = 0
                        else:
                            num_tmp += 80000000

                    else:
                        if (num_tmp > 79999999):
                            num_tmp = 0
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01050605):
                    print(u"上一次日冻结第一象限无功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant1_reactive_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant1_reactive_power_electricity_feilv1ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant1_reactive_power_electricity_feilv2ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant1_reactive_power_electricity_feilv3ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant1_reactive_power_electricity_feilv4ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01060605):
                    print(u"上一次日冻结第二象限无功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant2_reactive_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant2_reactive_power_electricity_feilv1ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant2_reactive_power_electricity_feilv2ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant2_reactive_power_electricity_feilv3ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant2_reactive_power_electricity_feilv4ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01070605):
                    print(u"上一次日冻结第三象限无功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant3_reactive_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant3_reactive_power_electricity_feilv1ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant3_reactive_power_electricity_feilv2ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant3_reactive_power_electricity_feilv3ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant3_reactive_power_electricity_feilv4ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01080605):
                    print(u"上一次日冻结第四象限无功电能数据")
                    list_tmp = data_list[10:14]
                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant4_reactive_power_electricityALL(1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant4_reactive_power_electricity_feilv1ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant4_reactive_power_electricity_feilv2ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant4_reactive_power_electricity_feilv3ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    num_tmp = self.num_format(
                        float(
                            dianbiao_object.dianbiao_cold_data_day_all_quadrant4_reactive_power_electricity_feilv4ALL(
                                1)),
                        2) * 100  # 两位小数 后扩大100倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01090605):
                    print(u"上一次日冻结正向有功最大需量及发生时间数据")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_needALL(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_needtimeALL(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv1_needALL(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv1_needtimeALL(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv2_needALL(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv2_needtimeALL(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv3_needALL(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv3_needtimeALL(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv4_needALL(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv4_needtimeALL(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x010A0605):
                    print(u"上一次日冻结反向有功最大需量及发生时间数据")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_needALL1(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_needtimeALL1(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv1_needALL1(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv1_needtimeALL1(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv2_needALL1(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv2_needtimeALL1(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv3_needALL1(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv3_needtimeALL1(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv4_needALL1(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10*4倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    tmp_data_str = dianbiao_object.dianbiao_cold_data_day_all_active_power_electricity_feilv4_needtimeALL1(
                        1)  # str 2022-01-03-10-18
                    if (len(tmp_data_str)):
                        tmp_data_list = tmp_data_str.split("-")
                        tmp_data_list[0] = tmp_data_list[0][2:]
                    else:
                        tmp_data_list = ["0", "0", "0", "0", "0"]
                    for i in range(len(tmp_data_list)):
                        tmp_data_list[i] = int(tmp_data_list[i], 16)
                        if (tmp_data_list[i] == 0xff):
                            tmp_data_list[i] = 0x32
                        else:
                            tmp_data_list[i] += 0x33  # 都加上0x33
                    tmp_data_list.reverse()
                    for i in tmp_data_list:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01100605):
                    print(u"上一次日冻结变量数据")
                    list_tmp = data_list[10:14]
                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_power(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_powerA(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_powerB(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_active_powerC(1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_reactive_power(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_reactive_powerA(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_reactive_powerB(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)

                    tmp_data = dianbiao_object.dianbiao_cold_data_day_all_reactive_powerC(
                        1) / 1000  # change w to kw
                    num_tmp = self.num_format(tmp_data, 4) * 10000  # 4位小数 后扩大10000倍
                    num_tmp_list_tmp = self.serial_data_handle_req_data_formation_list(data_list, num_tmp)
                    num_tmp_list_tmp = num_tmp_list_tmp[4:7]
                    for i in num_tmp_list_tmp:
                        list_tmp.append(i)
                    return self.serial_data_handle_req_read_data_list(0x91, data_list[1:7], len(list_tmp),
                                                                      list_tmp)
                elif (data_struct_flag == 0x01FF0605):
                    print(u"上一次日冻结数据块")
            else:
                pass

    # 保留多少小数点
    #
    def num_format(self, data_tmp, bit_len):
        # 保留多少小数
        str_tmp = format(data_tmp, "." + str(bit_len) + "f")
        return float(str_tmp)

    def intto_hexstr(self,list):
        if(type(list)==type([])):
            hexstr = ""
            for item in list:
                temp = hex(item)
                if (len(temp) == 3):
                    hexstr = hexstr + "0" + temp[2]
                else:
                    hexstr = hexstr + temp[2] + temp[3]
            return hexstr
        return ""